<?php

use Hyperf\Database\Schema\Schema;
use Hyperf\Database\Schema\Blueprint;
use Hyperf\Database\Migrations\Migration;

class CreateWechatUserTable extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('wechat_user', function (Blueprint $table) {
            $table->bigIncrements('id');
            // 公众号ID
            $table->unsignedBigInteger('official_id')->default(0)->comment('公众平台');
            // OpenID
            $table->string('open_id', 128)->default('')->comment('OpenID');
            // UnionID
            $table->string('union_id', 128)->default('')->comment('UnionID');
            // 用户昵称
            $table->string('name', 128)->default('')->comment('用户昵称');
            // 用户性别
            $table->tinyInteger('gender', false, true)->default(0)->comment('性别,1|男、2|女');
            // 所在国家
            $table->string('country', 128)->default('')->comment('所在国家');
            // 所在省份
            $table->string('province', 128)->default('')->comment('所在省份');
            // 所在城市
            $table->string('city', 128)->default('')->comment('所在城市');
            // 使用语言
            $table->string('language', 32)->default('')->comment('使用语言');
            // 用户头像
            $table->string('avatar', 512)->default('')->comment('用户头像');
            // 关注时间
            $table->dateTimeTz('created_at')->nullable()->comment('创建时间');
            // 状态
            $table->tinyInteger('status', false, true)->default(1)->comment('状态,1|正常、2|禁用');
            // 创建时间
            $table->dateTimeTz('created_at')->nullable()->comment('创建时间');
            // 更新时间
            $table->dateTimeTz('updated_at')->nullable()->comment('更新时间');
            // 删除时间
            $table->dateTimeTz('deleted_at')->nullable()->comment('删除时间');
        });
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::dropIfExists('wechat_user');
    }
}
